package co.edu.eam.persitencia.entidades;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

import co.edu.eam.persitencia.enumeraciones.SexoEnum;
import co.edu.eam.persitencia.enumeraciones.TipoDocumentoEnum;
import javax.persistence.Table;

/**
 * Entidad que representa a el acudiente de un paciente
 *
 */

@NamedQueries({
    @NamedQuery(name=Acudiente.CONSULTA_LISTAR_ACUDIENTES_POR_PACIENTE, query=("select acu from Acudiente acu where acu.paciente=:paciente"+Acudiente.PARAMETRO_PACIENTE))
    
})


@Entity
@Table(name="Clinica_Acudiente")

public class Acudiente extends Persona  {

	public static final String CONSULTA_LISTAR_ACUDIENTES_POR_PACIENTE="Acudiente.listarporPaciente";
        public static final String PARAMETRO_PACIENTE="paciente";

	/**
	 * Paciente del que esta entidad es acudiente.
	 */
	
        @ManyToOne
        @JoinColumn(name="Acudiente_paciente")
	private Paciente paciente;
	
	
	public Acudiente() {
		super();
	}

	/**
	 * @param documento
	 * @param primerNombre
	 * @param segundoNombre
	 * @param primerApellido
	 * @param segundoApellido
	 * @param tipoDocumento
	 * @param direccion
	 * @param email
	 * @param sexo
	 * @param paciente
	 */
	public Acudiente(String documento, String primerNombre,
			String segundoNombre, String primerApellido,
			String segundoApellido, TipoDocumentoEnum tipoDocumento,
			String direccion, String email, SexoEnum sexo, Paciente paciente) {

            super(documento, primerNombre, segundoNombre, primerApellido, segundoApellido, tipoDocumento, direccion, email, sexo, email);
 		this.paciente = paciente;
	}

	/**
	 * @return the paciente
	 */
	public Paciente getPaciente() {
		return paciente;
	}

	/**
	 * @param paciente the paciente to set
	 */
	public void setPaciente(Paciente paciente) {
		this.paciente = paciente;
	}
	
	//TODO:falta toString
	
}
